package org.jeecg.modules.arc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 缴费账户
 * @Author: jeecg-boot
 * @Date:   2022-02-18
 * @Version: V1.0
 */
@Data
@TableName("mws_t_arc_account")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="mws_t_arc_account对象", description="缴费账户")
public class ArcAccount implements Serializable {
    private static final long serialVersionUID = 1L;

	/**ID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "ID")
    private java.lang.String id;
	/**缴费账号*/
	@Excel(name = "缴费账号", width = 15)
    @ApiModelProperty(value = "缴费账号")
    private java.lang.String code;
	/**账户类型*/
	@Excel(name = "账户类型", width = 15, dicCode = "fee_cus_type")
	@Dict(dicCode = "fee_cus_type")
    @ApiModelProperty(value = "账户类型")
    private java.lang.String feeCusType;
	/**用户档案*/
	@Excel(name = "用户档案", width = 15, dictTable = "mws_t_arc_contacts", dicText = "name", dicCode = "id")
	@Dict(dictTable = "mws_t_arc_contacts", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "用户档案")
    private java.lang.String contactId;
	/**银行账号*/
	@Excel(name = "银行账号", width = 15)
    @ApiModelProperty(value = "银行账号")
    private java.lang.String bankAccountNo;
	/**开户行*/
	@Excel(name = "开户行", width = 15)
    @ApiModelProperty(value = "开户行")
    private java.lang.String bank;
	/**新ID,该资料当前最新的ID值*/
	@Excel(name = "新ID,该资料当前最新的ID值", width = 15)
    @ApiModelProperty(value = "新ID,该资料当前最新的ID值")
    private java.lang.String newId;
	/**原ID,修改前资料的ID值*/
	@Excel(name = "原ID,修改前资料的ID值", width = 15)
    @ApiModelProperty(value = "原ID,修改前资料的ID值")
    private java.lang.String oldId;
	/**账户状态,1正常,2停用,3销户*/
	@Excel(name = "账户状态,1正常,2停用,3销户", width = 15, dicCode = "water_user_status")
	@Dict(dicCode = "water_user_status")
    @ApiModelProperty(value = "账户状态,1正常,2停用,3销户")
    private java.lang.String waterUserStatus;
	/**是否预存账户*/
	@Excel(name = "是否预存账户", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否预存账户")
    private java.lang.Integer isStored;
	/**预存协议号*/
	@Excel(name = "预存协议号", width = 15)
    @ApiModelProperty(value = "预存协议号")
    private java.lang.String storedContractNo;
	/**预存开始时间*/
	@Excel(name = "预存开始时间", width = 15)
    @ApiModelProperty(value = "预存开始时间")
    private java.lang.String storedBeginTime;
	/**预存结束时间*/
	@Excel(name = "预存结束时间", width = 15)
    @ApiModelProperty(value = "预存结束时间")
    private java.lang.String storedEndTime;
	/**预存创建时间*/
	@Excel(name = "预存创建时间", width = 15)
    @ApiModelProperty(value = "预存创建时间")
    private java.lang.String storedCreatedTime;
	/**预存创建人*/
	@Excel(name = "预存创建人", width = 15)
    @ApiModelProperty(value = "预存创建人")
    private java.lang.String storedCreatorId;
	/**账户余额*/
	@Excel(name = "账户余额", width = 15)
    @ApiModelProperty(value = "账户余额")
    private java.math.BigDecimal balance;
	/**滚存金额*/
	@Excel(name = "滚存金额", width = 15)
    @ApiModelProperty(value = "滚存金额")
    private java.math.BigDecimal roundBalance;
	/**是否托收mws_t_arc_customers*/
	@Excel(name = "是否托收", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否托收")
    private java.lang.Integer isProxy;
	/**托收单位ID*/
	@Excel(name = "托收单位ID", width = 15)
    @ApiModelProperty(value = "托收单位ID")
    private java.lang.String feeProxyUnit;
	/**是否预开票*/
	@Excel(name = "是否预开票", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否预开票")
    private java.lang.Integer isPreInvoiced;
	/**是否增值税*/
	@Excel(name = "是否增值税", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否增值税")
    private java.lang.Integer isVat;
	/**增值税号*/
	@Excel(name = "增值税号", width = 15)
    @ApiModelProperty(value = "增值税号")
    private java.lang.String vatNo;
	/**银行合同号*/
	@Excel(name = "银行合同号", width = 15)
    @ApiModelProperty(value = "银行合同号")
    private java.lang.String bankcontractno;
	/**开户行号*/
	@Excel(name = "开户行号", width = 15)
    @ApiModelProperty(value = "开户行号")
    private java.lang.String bankno;
	/**托收户是否审核通过，0：未审核，1：已审核*/
	@Excel(name = "托收户是否审核通过，0：未审核，1：已审核", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "托收户是否审核通过，0：未审核，1：已审核")
    private java.lang.Integer isExamine;
	/**银行开户名称*/
	@Excel(name = "银行开户名称", width = 15)
    @ApiModelProperty(value = "银行开户名称")
    private java.lang.String bankaccountname;
	/**银行开启时间*/
	@Excel(name = "银行开启时间", width = 15)
    @ApiModelProperty(value = "银行开启时间")
    private java.lang.String bankOpendTime;
	/**状态*/
	@Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
	/**微信账户openID*/
	@Excel(name = "微信账户ID", width = 15)
    @ApiModelProperty(value = "微信账户ID")
    private java.lang.String weixinId;
	/**同步标识*/
	@Excel(name = "同步标识", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "同步标识")
    private java.lang.Integer syncFlag;
	/**最后同步时间*/
	@Excel(name = "最后同步时间", width = 15)
    @ApiModelProperty(value = "最后同步时间")
    private java.lang.String syncDatetime;
	/**是否银行代扣 ，0：是，1：否*/
	@Excel(name = "是否银行代扣 ，0：是，1：否", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否银行代扣 ，0：是，1：否")
    private java.lang.Integer isWithhold;
	/**代扣银行*/
	@Excel(name = "代扣银行", width = 15)
    @ApiModelProperty(value = "代扣银行")
    private java.lang.String withholdBank;
	/**是否删除*/
//	@Excel(name = "是否删除", width = 15)
//    @ApiModelProperty(value = "是否删除")
    private java.lang.Integer delFlag;
	/**租户网点*/
//	@Excel(name = "租户网点", width = 15)
//    @ApiModelProperty(value = "租户网点")
    private java.lang.Integer tenantId;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
	/**部门编码*/
    @ApiModelProperty(value = "部门编码")
    private java.lang.String sysOrgCode;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;

	/**片区*/
	private transient String areaId;
	/**表册*/
	private transient String bookId;

	/**户名*/
	private transient String accName;

	/**通知类型*/
	private transient String msgType;
	/**通知时间*/
	private transient String msgTime;
	/**通知内容*/
	private transient String msgContent;
	/**通知来源*/
	private transient String msgForm;

}
